[Web Basic] Web Server
Posted on
Web Server
[링크] https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_web_server
웹 서버는 브라우저(클라이언트)가 HTTP 요청을 보내게 되면 그 요청을 받아 해당하는 문서 or 오브젝트(이미지파일 등)을 응답으로 보내는 서버이다. 웹 서버 소프트웨어를 구동하는 하드웨어도 웹 서버라고 하기 때문에 혼동되는 경우가 간혹 있다.
웹서버의 주된 기능은 웹 페이지를 클라이언트에게 전달하는 것이다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서를 전달한다.
웹서버는 정적 웹 서버와 동적 웹 서버로 나뉜다.
-
정적 웹 서버
- HTTP 서버 소프트웨어가 있는 컴퓨터(하드웨어)로 구성됨
- 서버가 정적인 파일을 브라우저에 전송하기 때문에 정적 웹 서버라고 함
-
동적 웹 서버
- 정적 웹서버와 추가적인 애플리케이션 서버, 데이터베이스 등으로 구성됨
- 애플리케이션 서버는 브라우저가 요청한 파일을 전송하기 전 업데이트 과정을 거치기 때문에 동적 웹 서버라고 함
보통 대부분의 웹 서버는 ASP, PHP 등과 같은 서버사이드 스크립트 언어를 지원한다. 이는 서버 소프트웨어 변경 없이도 웹 서버가 수행할 동작을 분리된 서버 사이드 스크립트 언어로 기술할 수 있다는 의미이다.
보통 서버 사이드 스크립트를 통해 구현되는 기능은 HTML 문서를 동적으로 생성된 것을 말하는데 이는 주로 데이터 베이스의 정보를 조회해서 보여주거나 수정하는등의 방식이다.
- 아파치(Apache)
아파치란 웹서버로 볼 수 있으며 클라이언트에게 정적 웹페이지를 응답할 때 사용함.
80번 포트로 클라이언트와 통신함.
- 톰캣(Tomcat)
웹을 만들기 위한 웹 컨테이너, 서블릿 컨테이너
정적으로 처리해야할 데이터를 제외한 JSP, ASP, PHP 등은 톰캣에게 전달됨
톰캣은 동적인 데이터 처리가 가능. DB 연결, 데이터 조작, 다른 응용프로그램과 상호 작용이 가능하다. 톰캣은 8080포트로 처리함
- 아파치톰캣(Apache + Tomcat)
톰캣이 아파치의 기능 일부를 가져와서 제공해주는 형태.